package com.mmd.base.annotation;

import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.scheduling.annotation.EnableAsync;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
import java.lang.annotation.*;
import static java.lang.annotation.ElementType.TYPE_USE;

/**
 * {@link Enablemmd} 要放在@SpringBootApplication之上 避免出现一些奇怪的加载顺序问题
 */
@EnableDubbo
@ServletComponentScan
@EnableAspectJAutoProxy
@EnableAsync
@MapperScan("com.mmd.*.*.mapper")
@ComponentScan(basePackages = {"com.mmd"})
@EnableSwagger2WebMvc
@Inherited
@Target({ TYPE_USE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Enablemmd {
}
